﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Descripción breve de Transaccion
/// </summary>
namespace Iudicium.Servicios
{
    public class Transaccion
    {
        #region Atributos
        private int _TransaccionId;
        private int _ServicioId;
        private string _TipoTransaccion;
        private DateTime _FechaTransaccion;
        private string _Descripcion;
        private decimal _Monto;
        private int _RowNumber;
        #endregion
        #region Propiedades
        public int TransaccionId
        {
            get { return _TransaccionId; }
            set { _TransaccionId = value; }
        }
        public int ServicioId
        {
            get { return _ServicioId; }
            set { _ServicioId = value; }
        }
        public string TipoTransaccion
        {
            get { return _TipoTransaccion; }
            set { _TipoTransaccion = value; }
        }
        public string TipoForDisplay
        {
            get { return _TipoTransaccion.Equals("Ingreso") ? "Ingreso" : "Egreso"; }
        }
        public DateTime FechaTransaccion
        {
            get { return _FechaTransaccion; }
            set { _FechaTransaccion = value; }
        }
        public string FechaTransaccionForDisplay
        {
            get { return _FechaTransaccion.ToString("dd/MM/yyyy"); }
        }
        public string Descripcion
        {
            get { return _Descripcion; }
            set { _Descripcion = value; }
        }
        public string DescripcionForDisplay
        {
            get
            {
                if (_Descripcion.Length <= 80)
                    return _Descripcion;
                else
                    return _Descripcion.Substring(0, 77) + "...";
            }
        }
        public decimal Monto
        {
            get { return _Monto; }
            set { _Monto = value; }
        }
        public int RowNumber
        {
            get { return _RowNumber; }
            set { _RowNumber = value; }
        }
        #endregion
        public Transaccion()
        {
            //
            // TODO: Agregar aquí la lógica del constructor
            //
        }
        public Transaccion(int transaccionId, int servicioId, string TipoTransaccion, DateTime fechaTransaccion, string Descripcion, decimal Monto,int rownumber)
        {
            this._TransaccionId = transaccionId;
            this._ServicioId = servicioId;
            this._TipoTransaccion = TipoTransaccion;
            this._FechaTransaccion = fechaTransaccion;
            this._Descripcion = Descripcion;
            this._Monto = Monto;
            this._RowNumber = rownumber;
        }
    }
}
